package com.ruoyi.web.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 前台用户对象 user
 * 
 * @author jiwei
 * @date 2024-05-05
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 密码 */
    private String password;

    /** 账号年龄 */
    @Excel(name = "账号年龄")
    private Long useAge;

    /** 性别 */
    @Excel(name = "性别")
    private Long sex;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickName;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 简介 */
    @Excel(name = "简介")
    private String profile;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Long likedNum;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 积分数 */
    @Excel(name = "积分数")
    private Long integral;

    /** 账号类型 */
    @Excel(name = "账号类型")
    private Long type;

    /** 账号状态 */
    @Excel(name = "账号状态")
    private Long status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setUseAge(Long useAge) 
    {
        this.useAge = useAge;
    }

    public Long getUseAge() 
    {
        return useAge;
    }
    public void setSex(Long sex) 
    {
        this.sex = sex;
    }

    public Long getSex() 
    {
        return sex;
    }
    public void setNickName(String nickName) 
    {
        this.nickName = nickName;
    }

    public String getNickName() 
    {
        return nickName;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setAvatar(String avatar) 
    {
        this.avatar = avatar;
    }

    public String getAvatar() 
    {
        return avatar;
    }
    public void setProfile(String profile) 
    {
        this.profile = profile;
    }

    public String getProfile() 
    {
        return profile;
    }
    public void setLikedNum(Long likedNum) 
    {
        this.likedNum = likedNum;
    }

    public Long getLikedNum() 
    {
        return likedNum;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setIntegral(Long integral) 
    {
        this.integral = integral;
    }

    public Long getIntegral() 
    {
        return integral;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("password", getPassword())
            .append("useAge", getUseAge())
            .append("sex", getSex())
            .append("nickName", getNickName())
            .append("address", getAddress())
            .append("avatar", getAvatar())
            .append("profile", getProfile())
            .append("likedNum", getLikedNum())
            .append("birthday", getBirthday())
            .append("integral", getIntegral())
            .append("type", getType())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateAt", getUpdateAt())
            .toString();
    }
}
